package com.sky.cqculture.service;

import com.sky.cqculture.pojo.User;
import java.util.Map;

public interface UserService {
    
    /**
     * 根据手机号查询用户
     * @param phone 手机号
     * @return 用户对象
     */
    User findByPhone(String phone);
    
    /**
     * 根据ID查询用户
     * @param id 用户ID
     * @return 用户对象
     */
    User findById(Integer id);
    
    /**
     * 用户注册
     * @param user 用户对象
     */
    void register(User user);
    
    /**
     * 用户登录
     * @param phone 手机号
     * @param password 密码
     * @return 包含token和用户信息的map
     */
    Map<String, Object> login(String phone, String password);
    
    /**
     * 更新用户信息
     * @param user 用户对象
     */
    void update(User user);
    
    /**
     * 修改密码
     * @param id 用户ID
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     */
    void changePassword(Integer id, String oldPassword, String newPassword);
    
    /**
     * 验证密码是否正确
     * @param userId 用户ID
     * @param password 密码
     * @return 是否正确
     */
    boolean verifyPassword(Integer userId, String password);
}